home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 4
/
64er_Magazin_Sonderheft_04_86-04_1986_Markt__Technik_de_Disk_1_of_2_Side_A.d64
/
listing 15.d
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
705b
|
16 lines
1000 rem binaere suchroutine ---------------------------------------------------
1005 inputsu$ :rem suchbegriff
1010 n=int(log(sz)/log(2))+1 :rem maximal-formel
1040 sa=(2^n)/2:rem mitte der ges.dat
1050 n=n-1 :rem 1.abfrage
1100 :
1110 : ifsu$=d$(sa)thenprint"su$ steht in satz ";sa:end:rem su$ gefunden
1120 : ifsu$<d$(sa)thensa=sa-(2^(n-1)):goto1200 :rem ''halbieren''
1125 : ifsa+(2^(n-1))>szandn>-1thenn=n-1:goto1125 :rem ''ueberlauf''
1130 : sa=sa+(2^(n-1)) :rem ''halbieren''
1200 :
1210 :n=n-1 :rem naechst. halbieren
1220 :ifn<0thenprint"su$ gibt's nicht! in 1220":end :rem su$ nicht in datei
1225 print"sa=";sa;" n=";n :rem unnoetig !!
1230 :goto1100 :rem naechst. such-vers.